<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.6.4.min.js"></script>
</head>
 <body>

    <form action="" method="post" >  
        <input type="button" value="确认支付" name="ajaxLoadId" id="test"/>  
    </form>  
    <script type="text/javascript">  
    var basePath = "<%=request.getContextPath()%>";  
    $("#test").one("click",function(){  
        $.ajax({  
            url:basePath+"/payTest"            //<span style="font-family:微软雅黑;">ajax调用微信统一接口获取prepayId</span>  
        }).done(function(data){  
        	debugger;
        	console.log(data)
            var obj = $.parseJSON(data);  
           
            if(parseInt(obj.agent)<5){  
                alert("您的微信版本低于5.0无法使用微信支付");  
                return;  
            }  
            WeixinJSBridge.invoke(
            	       'getBrandWCPayRequest', {
            	           "appId" : obj.appId,     //公众号名称，由商户传入     
            	           "timeStamp":obj.timeStamp,         //时间戳，自1970年以来的秒数     
            	           "nonceStr" : obj.nonceStr, //随机串     
            	           "package" :obj.package,     
            	           "signType" : "MD5",         //微信签名方式：     
            	           "paySign": obj.paySign //微信签名 
            	       },
            	       function(res){     
            	           if(res.err_msg == "get_brand_wcpay_request：ok" ) {
            	        	   alert("ok")
            	           }else{
            	        	   alert(res.err_msg)
            	           }     // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。 
            	       }
            	   );  
           /* WeixinJSBridge.invoke('getBrandWCPayRequest',{  
                "appId" : obj.appid,                  //公众号名称，由商户传入  
                "timeStamp":new Date().getTime(),          //时间戳，自 1970 年以来的秒数  
                "nonceStr" : obj.nonce_str,         //随机串  
                "package" : obj.prepay_id,      //<span style="font-family:微软雅黑;">商品包信息</span>  
                "signType" : "MD5",        //微信签名方式:  
                "paySign" : obj.sign           //微信签名  
                },function(res){ 
                	alert(res);
                    alert(res.err_msg);  
                if(res.err_msg == "get_brand_wcpay_request:ok" ) {  
                   alert("ok");
                }else{  
                    alert("fail"+"__"+res.err_msg);  
                                       //<span style="font-family:微软雅黑;">当失败后，继续跳转该支付页面让用户可以继续付款，贴别注意不能直接调转jsp，</span><span style="font-size:10.5pt">不然会报</span><span style="font-size:12.0pt"> system:access_denied。</span>  
                }  
            });  */
            
          /*  wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: obj.appid, // 必填，公众号的唯一标识
                timestamp:"1414561699" , // 必填，生成签名的时间戳
                nonceStr: obj.nonce_str, // 必填，生成签名的随机串
                signature: obj.sign,// 必填，签名，见附录1
                jsApiList: ['chooseWXPay'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            });
            wx.ready(function(){
                // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
                wx.chooseWXPay({
                    timestamp: new Date().getTime(), // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                    nonceStr: obj.nonce_str, // 支付签名随机串，不长于 32 位
                    package: obj.prepay_id, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
                    signType: "MD5", // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
                    paySign: obj.sign, // 支付签名
                    complete: function (res) {
                    	alert(res);
                        // 支付成功后的回调函数
                        location.href=basePath+'/activityorder/activity-order!list.action?activityId='+activityId;
                    }
                });
            });
               */
        });  
    });  
    </script>  
  </body>  
</html>